【PHP/演習問題】関数と引数[2]

【PHP/演習問題】関数と引数[2]

問題

BMIと肥満度を出力するプログラムを作成してください。
なお、下記条件を満たすものとします。

  • BMIの計算式は『体重(kg)÷ (身長(m))2』とする
  • BMIの計算は関数にする
  • 体重と身長は標準入力で与える
  • 肥満度は次の表の通りとする
BMI 肥満度
18.5未満 低体重
18.5以上、25.0未満 標準体重
25.0以上、30.0未満 肥満(レベル1)
30.0以上、35.0未満 肥満(レベル2)
35.0以上、40.0未満 肥満(レベル3)
40.0以上 肥満(レベル4)
$ php practice.php
体重(kg) > 50
身長(cm) > 155
BMI = 20.811654526535
肥満度:標準体重
$ php practice.php
体重(kg) > 47
身長(cm) > 168
BMI = 16.652494331066
肥満度:低体重

解答例

<?php

function calc_bmi( $weight, $height ) {
    $bmi = $weight / ( ($height / 100 ) ** 2 );
    echo 'BMI = '.$bmi."\n";
    
    if( $bmi < 18.5 ) {
        echo "肥満度:低体重\n";
    } else if( 18.5 <= $bmi && $bmi < 25.0 ) {
        echo "肥満度:標準体重\n";
    } else if( 25.0 <= $bmi && $bmi < 30.0 ) {
        echo "肥満度:肥満(レベル1)\n";
    } else if( 30.0 <= $bmi && $bmi < 35.0 ) {
        echo "肥満度:肥満(レベル2)\n";
    } else if( 35.0 <= $bmi && $bmi < 40.0 ) {
        echo "肥満度:肥満(レベル3)\n";
    } else if( 40.0 <= $bmi ) {
        echo "肥満度:肥満(レベル4)\n";
    }
}

echo '体重(kg) > ';
$weight = trim(fgets(STDIN));

echo '身長(cm) > ';
$height = trim(fgets(STDIN));

calc_bmi($weight, $height);

?>